package com.hsjk.szwj.module.train.convert;

import com.hsjk.szwj.framework.common.pojo.PageResult;
import com.hsjk.szwj.module.train.api.dto.CourseDTO;
import com.hsjk.szwj.module.train.api.dto.MemberCourseMappingDTO;
import com.hsjk.szwj.module.train.controller.admin.vo.AdminCourseDetailRespVO;
import com.hsjk.szwj.module.train.controller.admin.vo.AdminCoursePageRespVO;
import com.hsjk.szwj.module.train.controller.admin.vo.AdminCreateCourseReqVO;
import com.hsjk.szwj.module.train.controller.admin.vo.AdminUpdateCourseReqVO;
import com.hsjk.szwj.module.train.dal.dataobject.course.CourseDO;
import com.hsjk.szwj.module.train.dal.dataobject.course.MemberCourseMappingDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

/**
 * @author chenjiawei
 * @desc
 * @Date 2023/09/04 23:01
 **/
@Mapper
public interface CourseConvert {
    CourseConvert INSTANCE = Mappers.getMapper(CourseConvert.class);

    CourseDTO convertCourseDTO(CourseDO courseDO);

    MemberCourseMappingDO convertMemberCourseMappingDO(MemberCourseMappingDTO memberCourseMappingDTO);

    PageResult<AdminCoursePageRespVO> convertAdminCoursePageRespVO(PageResult<CourseDO> pageResult);

    AdminCourseDetailRespVO convertAdminCourseDetailRespVO(CourseDO courseDO);

    CourseDO convertCourseDO(AdminCreateCourseReqVO reqVO);

    CourseDO convertCourseDO(AdminUpdateCourseReqVO reqVO);

}
